<?php

namespace Sisesporte\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Entity
 * @ORM\Table(name="grau_escolaridade")
 * @ORM\Entity(repositoryClass="Sisesporte\Repository\GrauEscolaridadeRepository")
 */
class GrauEscolaridade {

    public function __construct($options = null) {
        Configurator::configure($this, $options);
        $this->escolaridadeAluno = new ArrayCollection;
        $this->grauFormacao = new ArrayCollection;
    }

    /**
     * @var integer $sqGrauEscolaridade
     *
     * @ORM\Column(name="sq_grau_escolaridade", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $sqGrauEscolaridade;

    /**
     * @var string $noGrauEscolaridade
     * @ORM\Column(name="no_grau_escolaridade", type="text", nullable=false)
     */
    protected $noGrauEscolaridade;

    /**
     * @var boolean $stAtivo
     * @ORM\Column(name="st_ativo", type="boolean", nullable=true)
     */
    protected $stAtivo;

    /**
     * @ORM\OneToMany(targetEntity="Sisesporte\Entity\Aluno", mappedBy="sq_grau_escolaridade")
     */
    protected $escolaridadeAluno;

    /**
     * @ORM\OneToMany(targetEntity="Sisesporte\Entity\FormacaoProfessor", mappedBy="sq_tipo_formacao")
     */
    protected $grauFormacao;

    public function getSqGrauEscolaridade() {
        return $this->sqGrauEscolaridade;
    }

    public function getNoGrauEscolaridade() {
        return $this->noGrauEscolaridade;
    }

    public function setNoGrauEscolaridade($noGrauEscolaridade) {
        $this->noGrauEscolaridade = $noGrauEscolaridade;
        return $this;
    }

    public function getStAtivo() {
        return $this->stAtivo;
    }

    public function setStAtivo($stAtivo) {
        $this->stAtivo = $stAtivo;
        return $this;
    }

    public function getEscolaridadeAluno() {
        return $this->escolaridadeAluno;
    }

    public function setEscolaridadeAluno($escolaridadeAluno) {
        $this->escolaridadeAluno = $escolaridadeAluno;
        return $this;
    }

    public function getGrauFormacao() {
        return $this->grauFormacao;
    }

    public function setGrauFormacao($grauFormacao) {
        $this->grauFormacao = $grauFormacao;
        return $this;
    }

    public function __toString() {
        return $this->noGrauEscolaridade;
    }

    public function toArray() {
        return array(
            'sqGrauEscolaridade' => $this->getSqGrauEscolaridade(),
            'noGrauEscolaridade' => $this->getNoGrauEscolaridade(),
            'stAtivo' => $this->getStAtivo(),
            'escolaridadeAluno' => $this->getEscolaridadeAluno(),
            'grauFormacao' => $this->getGrauFormacao()
        );
    }

}
